IIS的ISAPI伺服器擴展URL REWRITE(URL重寫)簡介

穩萊

IIS的ISAPI伺服器擴展URL REWRITE(URL重寫)簡介

來源:http://www.zuoyefeng.com/show.aspx?id=79&cid=70

URL REWRITE,我的翻譯是URL重寫,或者URL重定義。在asp+iis的網站開發模式中,可以實現如將http://xxxxxx.cn/news.asp?id=220 變成http://xxxxxx.cn/220.html 的形式。例如某條新聞的實際網址是http://xxxxxx.cn/news.asp?id=220 ,通過URL重寫之後,我們就可以直接輸入 http://xxxxxx.cn/220.html 的網址,來訪問該條新聞。

對於iis伺服器,要實現此項功能,需從 http://www.helicontech.com/download/ 網站上,下載Lite Version (free)免費版的軟體,將此軟體安裝於伺服器之後,在其安裝目錄上,找到配置文件httpd.ini,用記事本打開,輸入相應的規則。然後,在相應的站點上,ISAPI中,添加此元件。OK,配置完成,功能生效。

2、URL_REWRITE的規則寫法參考:

當我需要將將news.asp?id=234的映射成news/234.html時,只需設置:

RewriteRule /news/(\d+)\.html /news\.asp\?id=$1 [N,I]

 

這樣就把 /news/234.html 這樣的請求映射成了 /news.asp?id=234
當有對/news/234.html的請求時:web伺服器會把實際請求轉發給/news.asp?id=234

比對於某一個簡單應用可以是:

RewriteRule /news/(\d+)\.html /news/news\.php\?id=$1 [N,I]

 這樣就把 http://www.xxxxxx.com/news/234.html 映射到了 http://www.xxxxxx.com/news/news.php?id=234

一個更通用的能夠將所有的動態頁面進行參數映射的表達式是:
http://www.xxxxxx.cn/foo.php?a=A&b=B&c=C
表現成 http://www.xxxxxx.cn/foo.php/a/A/b/B/c/C

RewriteRule (.*?\.php)(\?[^/]*)?/([^/]*)/([^/]*)(.+?)? $1(?2$2&:\?)$3=$4?5$5: [N,I]

 

3、使用URL重寫功能的好處:

首先,有助於增加網站的安全性,因為它隱藏了諸如asp php jsp等相關的伺服器技術,以最原始的html文件形式,呈現於客戶。

其次,在平台移植時,不會各頁面的網站。如將news.asp?id=123轉移news.php?id=123,即將asp平台轉移php,如使用此URL重寫,這個頁面的網址就是news/123.html。

其它方面,方便URL引用,有助於搜索引擎的枚舉。

ISAPI_rewrite中文手冊
http://www.isapirewrite.cn/docs/

其他相關URL重寫擴展產品
ABC_Rewrite
http://www.jrsw.com/iis/index.html

紫雨軒IIS URL 重寫元件
http://www.redcheek.net/blogview.asp?logID=110

 給當前日誌評分:
Loading Vote
正在讀取評分資料...


文章來自: Tank部落格
引用通告: 查看所有引用 | 我要引用此文章
Tags: IIS ISAPI
相關日誌:

評論: 0 | 引用: 0 | 查看次數: -
發表評論
暱 稱:
密 碼: 遊客發言不需要密碼.
內 容:
驗證碼: 驗證碼
選 項:
雖然發表評論不用註冊,但是為了保護您的發言權,建議您註冊帳號.